In recent years, session border controllers (SBCs) have been increasingly employed in telecommunications networks not only to provide security at the borders of private networks, but also to handle the switching of interactive multimedia communications sessions (e.g., voice over Internet protocol (VoIP) calls). Such SBCs can employ the Session Initiation Protocol (SIP) for controlling such interactive multimedia communications sessions between a source endpoint device (e.g., a first VoIP-enabled phone, VoIP gateway, or any other suitable VoIP device) and a destination endpoint device (e.g., a second VoIP-enabled phone, VoIP gateway, or any other suitable VoIP device) located in different VoIP networks, or in different portions of the same VoIP network.
FIG. 1 depicts a conventional SBC 100, which can include at least one SIP message profile analyzer/manipulator (also referred to herein as a/the “SIP message profiler”), such as an incoming SIP message profiler 102, and an outgoing SIP message profiler 104. The conventional SBC 100 can further include a session controller core 106, and a policy engine 108. In one mode of operation, the conventional SBC 100 can be deployed at a border between VoIP networks for controlling an interactive multimedia communications session between two parties of a VoIP call. To that end, a first party to the VoIP call can send, from a first VoIP device in a first VoIP network, a SIP request message for subsequent receipt, at a second VoIP device in a second VoIP network, by a second party to the VoIP call. For example, the SIP request message can be a SIP INVITE message for inviting the second party to participate in a session for the VoIP call.
Having been sent from the first VoIP device in the first VoIP network, the SIP request message is received at the incoming SIP message profiler 102 within the conventional SBC 100, which can execute a specified SIP message profiler rule pertaining to the forwarding of the SIP request message. The incoming SIP message profiler 102 then forwards the SIP request message to the session controller core 106, which can access specified information contained in the SIP request message, and provide the specified information to the policy engine 108. Based at least on the information provided to it by the session controller core 106, the policy engine 108 can implement a predetermined policy for subsequent handling of the SIP request message, by the outgoing SIP message profiler 104, to the second VoIP device in the second VoIP network.
Because, in the conventional SBC 100, the incoming and outgoing SIP message profilers 102, 104, as well as the policy engine 108, typically depend on one or more primitives introduced at design and development time for introducing dynamic changes in the operation of the SBC, they are generally incapable of dynamically implementing new features at runtime that span the capabilities of the incoming/outgoing SIP message profilers 102, 104 and the policy engine 108. However, requiring such new features in an SBC to be implemented at design and development time can delay the time-to-market, increase costs, and potentially introduce vulnerabilities and/or instabilities into the SBC.